console.log(process.argv);
/*
//在命令行中运行node process.js --port 3000 --config a.js
D:\x\node_tutorial\8.node是个撒>node process.js --port 3000 --config a.js

//console.log(process.argv)会输出↓
[ 'C:\\Program Files\\nodejs\\node.exe', //执行程序的位置
  'D:\\x\\node_tutorial\\8.node是个撒\\process.js', //被执行的文件
  '--port',
  '3000',
  '--config',
  'a.js' ]
*/
/** ↑ 一般带`--`的是key, 不带的是值*/

//node 00.argv.js --port 3000 --config a.js
let argv = process.argv.slice(2).reduce((prev, current, index, arr) => {
  if (current.includes('--')) {
    prev[current.slice(2)] = arr[index + 1];
  }
  return prev;
}, {});
console.log('argv:',argv);
//argv: { port: '3000', config: 'a.js' }



//有现成的库 commander
/*
const program = require('commander');
program.version('1.0.0')
// .option('-p, --port <value>', 'config port')
// .option('-c, --config <value>', 'config file')

  .command('rm <dir>')
  .option('-r, --recursive', 'Remove recursively')
  .action(function (dir, cmd) {
    console.log('remove ' + dir + (cmd.recursive ? ' recursively' : ''))
  })
  .on('--help',function(){
    console.log('');
    console.log('Examples:');
    console.log('  $ custom-help --help');
    console.log('  $ custom-help --h');
  })
  .parse(process.argv);*/
